﻿using dz.u9.jky.schema.Attrib;
using dz.u9.jky.schema.Common;
using System.Collections.Generic;

namespace dz.u9.jky.schema.Ship
{
    public class DzShipLine
    {
        /// <summary>
        /// 物料
        /// </summary>
        [DzSimpleObject("UFIDA.U9.CBO.SCM.Item.ItemInfo,UFIDA.U9.CBO.PubBE","ItemCode")]
        public string ItemInfo{ get; set; }

        /// <summary>
        /// 行号
        /// </summary>
        public int DocLineNo { get; set; }

        /// <summary>
        /// 出货数量
        /// </summary>
        public decimal ShipQtyInvAmount { get; set; }

        [DzEnum("UFIDA.U9.CBO.SCM.Enums.FreeTypeEnum,UFIDA.U9.CBO.SCMBE")]
        public int DonationType { get; set; }

        /// <summary>
        /// 免费原因
        /// </summary>
        [DzEnum("UFIDA.U9.SM.Enums.DonationReasonEnum,UFIDA.U9.CBO.SCMBE")]
        public int DonationReason { get; set; } = -1;

        /// <summary>
        /// 拒收原因
        /// </summary>
        [DzEnum("UFIDA.U9.SM.Enums.RejectReasonEnum,UFIDA.U9.SM.SMBE")]
        public int RejectReason { get; set; } = -1;

        /// <summary>
        /// 收货位置
        /// </summary>
        [DzSimpleObject("UFIDA.U9.CBO.Pub.Controller.CommonArchiveDataDTO,UFIDA.U9.CBO.PubSV")]
        public string ShipToSite { get;set;}

        /// <summary>
        /// 存储地点
        /// </summary>
        [DzSimpleObject("UFIDA.U9.CBO.Pub.Controller.CommonArchiveDataDTO,UFIDA.U9.CBO.PubSV")]
        public string WH { get; set; }

        /// <summary>
        /// 立账位置
        /// </summary>        
        [DzSimpleObject("UFIDA.U9.CBO.Pub.Controller.CommonArchiveDataDTO,UFIDA.U9.CBO.PubSV")]
        public string BillToSite { get; set; }

        /// <summary>
        /// 信用客户位置
        /// </summary>        
        [DzSimpleObject("UFIDA.U9.CBO.Pub.Controller.CommonArchiveDataDTO,UFIDA.U9.CBO.PubSV")]
        public string CreditObj { get; set; }

        /// <summary>
        /// 本次出货数量1
        /// </summary>
        public decimal ShipQtyTUAmount { get; set;}

        /// <summary>
        /// 收款条件
        /// </summary>        
        [DzSimpleObject("UFIDA.U9.CBO.Pub.Controller.CommonArchiveDataDTO,UFIDA.U9.CBO.PubSV")]
        public string ReceivableTerm { get; set; }

        /// <summary>
        /// 定价
        /// </summary>
        public decimal OrderPrice { get; set; }

        public decimal OrderPriceTC { get; set; }

        public decimal FinallyPrice { get; set; }

        public decimal FinallyPriceTC { get; set; }

        /// <summary>
        /// 价税合计(财务.核币)
        /// </summary>
        public decimal TotalMoney { get; set; }

        /// <summary>
        /// 价税合计(金额.交易币)
        /// </summary>
        public decimal TotalMoneyTC { get; set; }

        /// <summary>
        /// 价税合计(金额.本币)
        /// </summary>
        public decimal TotalMoneyFC { get; set; }

        /// <summary>
        /// 未税金额
        /// </summary>
        public decimal TotalNetMoney { get; set; }

        /// <summary>
        /// 价税合计(金额.交易币)
        /// </summary>
        public decimal TotalNetMoneyTC { get; set; }

        /// <summary>
        /// 价税合计(金额.本币)
        /// </summary>
        public decimal TotalNetMoneyFC { get; set; }

        /// <summary>
        /// 税额
        /// </summary>
        public decimal TotalTax { get; set; }

        /// <summary>
        /// 出货税额(本币)
        /// </summary>
        public decimal TotalTaxFC { get; set; }

        /// <summary>
        /// 出货税额(交易币)
        /// </summary>
        public decimal TotalTaxTC { get; set; }

        /// <summary>
        /// 成套收发货标志
        /// </summary>
        [DzEnum("UFIDA.U9.CBO.SCM.Enums.KITShipModeEnum,UFIDA.U9.CBO.SCMBE")]
        public int ShipTogetherFlag { get; set; } = -1;

        [DzList("UFIDA.U9.ISV.SM.ItemBarCodeDTO,UFIDA.U9.ISV.SM.SDIndustryChainSV")]
       
        public List<DzItemBarCode> ItemBarCodes { get; set; }


        /// <summary>
        ///地址信息
        /// </summary>
        [DzList("UFIDA.U9.ISV.SM.ShipAddressDTOForIndustryChain,UFIDA.U9.ISV.SM.SDIndustryChainSV")]
        public List<DzShipAddress> ShipAddresss { get; set; }

        /// <summary>
        ///	联系人信息
        /// </summary>
        [DzList("UFIDA.U9.ISV.SM.ShipContactDTOForIndustryChain,UFIDA.U9.ISV.SM.SDIndustryChainSV")]
        public List<DzShipContact> ShipContacts { get; set; }

        /// <summary>
        /// 出货单税明细
        /// </summary>
        [DzList("UFIDA.U9.ISV.SM.ShipTaxDTOForIndustryChain,UFIDA.U9.ISV.SM.SDIndustryChainSV")]
        public List<DzShipTax> ShipTaxs { get; set; }

        /// <summary>
        ///	费用信息
        /// </summary>
        [DzList("UFIDA.U9.ISV.SM.ShipFeeDTOForIndustryChain,UFIDA.U9.ISV.SM.SDIndustryChainSV")]
        public List<DzShipFee> ShipFees { get; set; }

        /// <summary>
        /// 结算路径
        /// </summary>
        [DzList("UFIDA.U9.ISV.SM.ShipLineBalanceRouteDTOForIndustryChain,UFIDA.U9.ISV.SM.SDIndustryChainSV")]
        public List<DzShipLineBalanceRoute> ShipLineBalanceRoutes { get; set; }

        /// <summary>
        /// 折扣信息
        /// </summary>
        [DzList("UFIDA.U9.ISV.SM.ShipLineDiscountDTOForIndustryChain,UFIDA.U9.ISV.SM.SDIndustryChainSV")]
        public List<DzShipLineDiscount> ShipLineDiscounts { get; set; }

        /// <summary>
        /// 库位子表
        /// </summary>
        [DzList("UFIDA.U9.ISV.SM.ShipLineLocationDTOForIndustryChain,UFIDA.U9.ISV.SM.SDIndustryChainSV")]
        public List<DzShipLineLocation> ShipLineLocations { get; set; }

        /// <summary>
        /// 弹性域
        /// </summary>
        [DzComplexObject("UFIDA.U9.Base.FlexField.DescFlexField.DescFlexSegments,UFIDA.U9.Base.BaseBE")]
        public DescFlexField DescFlexField { get; set; }

        /// <summary>
        /// 税组合
        /// </summary>
        [DzSimpleObject("UFIDA.U9.CBO.Pub.Controller.CommonArchiveDataDTO,UFIDA.U9.CBO.PubSV")]
        public string TaxSchedule { get; set; }

    }


}
